Context-Based Adaptive Binary Arithmetic Coding (CABAC) is an entropy coding method of a relatively new industry standard for coding and compressing audio and video (AV) information, commonly referred to as H.264/AVC or simply as H.264. The H.264 data compression-coding standard, sometimes loosely referred to as MPEG-4 (moving pictures expert group), represents a new generation of compression-coding that is becoming well known in the art. People expect the H.264 standard to supersede the widely used MPEG-2 standard for many applications. H.264 generally achieves higher compression ratios than MPEG-2. Unfortunately, H.264 achieves the higher compression ratios at the expense of increased processing complexity.
In some aspects, H.264 is similar to MPEG-2. For example, both MPEG-2 and MPEG-4 utilize motion compensation to match current pixel blocks with reference pixel blocks to minimize the differential data that is to be transform-encoded. One compression encoding option of H.264 uses CABAC (context-based adaptive binary arithmetic coding) for syntax elements produced by transform-encoding (including motion vector information and other related data). CABAC potentially offers substantial additional compression efficiency relative to other types of later-stage encoding, but is considerably more complex than previous AV encoding and/or decoding standards thus far. To date, people have simulated or modeled CABAC encoders and/or decoders for H.264 using hardware and software. Unfortunately, the performance results of these models have generally been poor, especially the encoding/decoding throughputs of high resolution signals, high bit rate, and real-time video signals, such as those for high definition television (HDTV). Additionally, CABAC encoding/decoding of binary strings, or bins, in previous CABAC encoders/decoders has generally occurred in a serial fashion. In other words, for two bins, one bin must generally be decoded before the second bin may be decoded. This serial requirement of bins usually creates bottlenecks in systems and apparatuses that degrade or impact overall performance and consume additional power.